package com.wichatbackapi.domain.doa;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * 用户信息
 */
// get/set生成器
@Data
// 无参构造函数
@NoArgsConstructor
// 全参构造函数
@AllArgsConstructor
@Schema(description = "用户类")
public class SysUser {
    /*
     * 用户ID
     */
    @Schema(description = "用户ID")
    private Long userId;
    /*
     * 用户昵称
     */
    @Schema(description = "用户昵称")
    private String userName;
    /*
     * 用户密码
     */
    @Schema(description = "用户密码")
    private String password;
    /*
     * 用户昵称
     */
    @Schema(description = "用户昵称")
    private String nickName;
    /*
     * 用户性别（0男 1女 2未知）
     */
    @Schema(description = "用户性别（0男 1女 2未知）")
    private Integer sex;
    /*
     * 手机号码
     */
    @Schema(description = "手机号码")
    private String phoneNumber;
    /*
     * 邮箱
     */
    @Schema(description = "邮箱")
    private String email;
    /*
     * 头像
     */
    @Schema(description = "头像")
    private String avatar;
    /*
     * 个人签名
     */
    @Schema(description = "个人签名")
    private String personSign;
    /*
     * 省份名称
     */
    @Schema(description = "省份名称")
    private String provinceName;
    /*
     * 省份编码
     */
    @Schema(description = "省份编码")
    private String provinceCode;
    /*
     * 城市名称
     */
    @Schema(description = "城市名称")
    private String cityName;
    /*
     * 城市编码
     */
    @Schema(description = "城市编码")
    private String cityCode;
    /*
     * 添加类型 (0直接加入 1同意后加好友）
     */
    @Schema(description = "添加类型 (0直接加入 1同意后加好友)")
    private Integer joinType;
    /*
     * 帐号状态（0正常 1停用）
     */
    @Schema(description = "帐号状态（0正常 1停用）")
    private Integer status;
    /*
     * 删除标志（0代表存在 2代表删除）
     */
    @Schema(description = "删除标志（0代表存在 2代表删除）")
    private Integer delFlag;
    /*
     * 创建时间
     */
    @Schema(description = "创建时间")
    private Date createTime;
    /*
     * 最后离开时间
     */
    @Schema(description = "最后离开时间")
    private Date lastOffTime;

    /** 角色组 */
//    private Long[] roleIds;
    @TableField(exist = false)//不映射到数据库中
    private Boolean isCode;//判断是否需要验证码
    @TableField(exist = false)//不映射到数据库中
    private String code;//验证码字符串
    @TableField(exist = false)//不映射到数据库中
    private String codeKey;//验证码标识
}
